﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Renci.Data.Interop.OpenGIS.Iso.tc211_2005.gco;
using Renci.Data.Interop.OpenGIS.Iso.tc211_2005.gts;

namespace Renci.Data.Interop.OpenGIS.Iso.tc211_2005.gmd
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.isotc211.org/2005/gmd")]
    [System.Xml.Serialization.XmlRootAttribute("MD_MaintenanceInformation", Namespace = "http://www.isotc211.org/2005/gmd", IsNullable = false)]
    public class MD_MaintenanceInformation_Type : AbstractObject_Type
    {
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("maintenanceAndUpdateFrequency")]
        public MD_MaintenanceFrequencyCode_PropertyType MaintenanceAndUpdateFrequency { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("dateOfNextUpdate")]
        public Date_PropertyType DateOfNextUpdate { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("userDefinedMaintenanceFrequency")]
        public TM_PeriodDuration_PropertyType UserDefinedMaintenanceFrequency { get; set; }

        private System.Collections.ObjectModel.Collection<MD_ScopeCode_PropertyType> _updateScope = new System.Collections.ObjectModel.Collection<MD_ScopeCode_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("updateScope")]
        public System.Collections.ObjectModel.Collection<MD_ScopeCode_PropertyType> UpdateScope { get { return this._updateScope; } }

        private System.Collections.ObjectModel.Collection<MD_ScopeDescription_PropertyType> _updateScopeDescription = new System.Collections.ObjectModel.Collection<MD_ScopeDescription_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("updateScopeDescription")]
        public System.Collections.ObjectModel.Collection<MD_ScopeDescription_PropertyType> UpdateScopeDescription { get { return this._updateScopeDescription; } }

        private System.Collections.ObjectModel.Collection<CharacterString_PropertyType> _maintenanceNote = new System.Collections.ObjectModel.Collection<CharacterString_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("maintenanceNote")]
        public System.Collections.ObjectModel.Collection<CharacterString_PropertyType> MaintenanceNote { get { return this._maintenanceNote; } }

        private System.Collections.ObjectModel.Collection<CI_ResponsibleParty_PropertyType> _contact = new System.Collections.ObjectModel.Collection<CI_ResponsibleParty_PropertyType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("contact")]
        public System.Collections.ObjectModel.Collection<CI_ResponsibleParty_PropertyType> Contact { get { return this._contact; } }
    }
}
